home *** CD-ROM | disk | FTP | other *** search
Text File | 2000-03-02 | 31.7 KB | 1,004 lines |
- Attention:
-
- Open:
-
- loadresource gets unstable with the ppc.library. I suppose it`s caused
- by some weird loadseg patches loadresource does. IMHO there`s no real
- sense for loadresource. Use openlib instead.
- Make the fpu usage detection more smarter...maybe skipping a fpu precision
- init, so the fpu isn`t always used because some fpu c.o startup thought it`s
- necessary.
-
-
- Attention:
-
- o Newer GCCs(expecially 2.95.2) use the fpu to optimize memory operations
- and that may cause an alignment exception.
- ALWAYS use -mstrict-align when you use the compiler.
-
- o Be careful with PPCCreateTask on the PPC side and using
- not reentrant link lib functions from the parent task.
-
- History:
-
- C++ proto support
-
- - 46.31
- o Copyright changed
-
- - 46.30
- o 64bit signed div/mod math fix...
- o fixed some signal/timerobject problem
- o compiled with gcc2.95.2
- o PPC side`s PPCINFOTAG_CPUPLL now delivers the same as the 68k side.
- The PLL id should have always been the 0..16 and not shifted >28(original hid1)
- o unreliable return value in some internal elf loader function...probably caused
- no havoc
-
- - 46.29
- o Change in the clock heuristics...hopefully it fixes the 175Mhz->350Mhz
- output for Blizzards.
-
- - 46.28
- o PPCINFOTAG_CPU fixed on the PPC side
- o PPCINFOTAG_CPUREV fixed on the PPC side
- o Fixed some remaining autodoc problems
-
- - 46.27
- o DIFFMICRO fixed...broken(Rask)
- o PPCTimer examples were ""broken"" since the egcs recompiled release.
- I forgot to recompile ppctimer to adapt to the new va_list macros.
- 64bit long longs are aligned...i don`t really know if it was smart
- to change that by the egcs team.
- o PPCFindTask() caused an illegal address hit if there was no current task
- running on the ppc side.(Could only happen if called from the 68k side)
- o KernelModule gpr12,fp9-fp13 could be trashed by legal sysv abi subfunctions.
- o A lot autodocs fixes(Rafal Sanda)
-
- - 46.26
- o wrong clock calculations for cyberstormppc used in 1200 towers.
- caused by wrong 1200 cia timings. the cias seem to be connected
- in the 1200 with 2x the documented clock.
- I checked for the blizzard ppc hw to avoid the problem and didn`t
- thought about cyberstormppc 1200 users.
-
- - 46.25
- o Kernel String "powerup:src/ppclib/PPCKernel.elf" changed to "PPCKernel.elf"
- as a path string wasn`t necessary anymore. (Somebody doesn`t like it:-)
- o FindTaskObject() bug..weird
- o Changed ppcinline/macro.h to work without the alloca...alloca can cause
- a stack overrun. (JohanE)
-
- - 46.24
- o fixed 64bit sub/add problems(Keith Barkley)
-
- - 46.23
- o libcount problem fixed
- o egcs-2.91.57 compilation
- o switched to a faster cache flush
- o %?.?s bug fixed when the precision is bigger than the length(Jamie Keir)
-
- - 46.22
- o removed the hunk checksum destroy code in the elf
- hunk magic to make it easier to generate resident
- elf programs. WShell used checksums to identify
- resident programs.
- For making programs resident though you have to
- be careful with bss
- For resident elfs be careful with BSS...as it`s
- not cleared each createtask(). clearing would be
- a potential problem for shared elf objects(run
- by more than 1 thread at the same time)
- o Updated KernelModule Calls..now it also handles
- the ECGS program start which doesn`t use the additional
- function description longword before each function.
- It also now cares for the newer IF_CACHE flags and
- if you specify IF_ASYNC in PPCCacheMode the function
- runs async so the result isn`t valid anymore.
- This avoids the 68k side polling for the function
- completing.
-
- - 46.21
- o Potential dangerous rom libinit problem fixed
- o ignored PPC scsirom fake configdev entry
- o PPC MMU Frame creation now more elegant
- o fixed another bug in the PPC exception 603e emulation
- which could cause strange sideeffects.
- I don`t think you can count the number of bugs of
- the official 603e book routine with 2 hands anymore.
-
- - 46.20
- o now the busclock is calculated instead of taking the eprom preconfig
- which isn`t stable.
- o PPCWaitPortList .fd entry was broken.
- o Missing PowerUPKernel/PPCFreeVec definition fixed
- o Fixed strcpy return value...weird Ansi std. that it has to return
- the entry dest ptr and not the dest ptr after the operation.
- Silly design.
- o optimization in the MMU build function
- o GetLibSymbol() ignores NULL parameters now...oh well
- o REL32 reloc mode added for egcs
- o __moddi3 fix..
- o 8100000f bug fixed(which only happened if the ppc.library detected
- an error condition).
- Big thanks going to piru(Harry Sintonen)
- o Reworked PPC working test...to avoid false detection due too much
- stress...dozens of partitions.
- Big thanks going to piru(Harry Sintonen)
- Well..some days later Piru`s problems were caused by bad ram.
- Anyway..the way it`s handled now is safer.
-
- - 46.19
- o 8MB more addressspace for the PPC/MK3 gfxcard
-
- - 46.18
- o ".datachip" section support
- o getattr clock problem on the ppc side for 233..sigh
- o ".bsschip" section support
-
- - 46.17
- o Internal Changes
-
- - 46.16
- o Fixed the Expunge(Heureka)
-
- - 46.15
- o Added PPCLib Expunge
- o Release
-
- - 46.14
- o Fixed a signal receivemask problem
- o divdi3
-
- - 46.13
- o ctrl off symbol check "_ixbaseobj" for the powerup ixemul
- o bstr task name problem fixed
- o PPCLib functions which communicate with the PPC now break
- a pending forbid which would lead to a deadlock situation.
- Stevek`s lib system does a PPCCreateTask in LIBOpen and
- as LIBOpen runs under forbid it caused the Delay() "fix"
- to work around it..
- o cleaned up the examples
-
- - 46.12
- o New PowerUPKernel functions(for completeness)
- PPCCreatePortList()
- PPCDeletePortList()
- PPCAddPortList()
- PPCRemPortList()
- PPCWaitPortList()
- PPCGetPortListAttr()
- PPCSetPortListAttr()
- o Reworked PPCCacheTrashE()
-
- - 46.11
- o pr_CES is used instead of Output() (Rask)
-
- - 46.10
- o New PowerUPKernel functions(for completeness)
- PPCOr64p
- PPCXor64p
- PPCAnd64p
- PPCLsr64p
- PPCAsl64p
- PPCAsr64p
- PPCLsl64p
- PPCDivRem64p
- o Lib version system..new tags:
- PPCELFLOADTAG_LIBVERSION
- PPCELFLOADTAG_LIBREVISION
- PPCELFLOADTAG_LIBEXACTVERSION
- PPCELFLOADTAG_LIBEXACTREVISION
-
-
- - 46.9
- o PowerUPKernel PPCSetTaskAttr() and PPCTASKTAG_EXTUSERDATA for libc(ixemul) support.
- o PowerUPKernel PPCUnLoadObject()
- o PowerUPKernel PPCGetObjectAttrs()
- o PowerUPKernel PPCLoadObject()
- o PowerUPKernel PPCLoadObjectTagList()
-
- - 46.8
- o maxlevel of 20 for stack history
- o MEMF_NOCACHEPPC
- o MEMF_NOCACHEM68K
-
- - 46.7
- o PPCCacheClearE changes
-
- - 46.6
- o ppcsetdebugmode LIBS debug mode
- o closelib problem..wrong syscall
-
- - 46.5
- o timer proto update..no return value now for Set and Get functions
- o PPCvkprintf()
- o PPCvsprintf()
- o PPCvprintf()
- o PPCfprintf()
- o PPCvfprintf()
- o more exact timer..
- o printf format now passes the whole(besides octal) libc test..puhh..what a pain.
-
- - 46.4
- o GCC 64Bit support functions
- __adddi3
- __subdi3
- __negdi2
- __muldi3
- __lmulq
- __umoddi3
- __moddi3
- __udivdi3
- __qdivrem
- __ashrdi3
- __ashldi3
- __lshldi3
- __lshrdi3
- __iordi3
- __anddi3
- __xordi3
- __cmpdi2
- __fixdfdi
- __fixsfdi
- __fixunsdfdi
- __fixunssfdi
- __floatdidf
- __floatdisf
- __floatunsdidf
- __ucmpdi2
- PPCLsl64
- // PPCLsl64p
- PPCLsr64
- // PPCLsr64p
- PPCAsl64
- // PPCAsl64p
- PPCAsr64
- // PPCAsr64p
- PPCOr64
- // PPCOr64p
- PPCXor64
- // PPCXor64p
- PPCAnd64
- // PPCAnd64p
- PPCDivRem64
- // PPCDivRem64p
-
- o fixed diverse Library problems
- o PPCTIMERTAG_START and PPCTIMERTAG_START now also work on 50hz timer objects
-
- - 46.3
- o reinserted the 64bit math
- o Timer functionality
- PPCCreateTimerObject()
- PPCDeleteTimerObject()
- PPCSetTimerObject()
- PPCGetTimerObject()
- o PPCOutput();
- o PPCInput();
- o PPCprintf();
- printf %L extension to mark a long long decimal or hex
- o added the NP_StackSize shell/wb stack passing in the elfpatch
- o FPU dispatch optimization activated
- o Stackframe Caller History on an exception
-
- - 46.2
- o symbol address fix
- o minor other problems
-
- - 46.1
- o Changes in the elf loader to support future changes
- o FPU task switching optimization..(it seems i have too much time to add this)
- Now only fpu registers are saved when the task has used a fpu instruction before.
- o Recompiled the libm,libmfd sources with optimize on..really strange it wasn`t
- activated in the original source.
- o unmask private memory attributes
- o huge kernel build changes(hopefully i don`t break anything)
- o exception during a lock fix
- o PPCkprintf(),PPCsprintf()
- o PPCCreateTask()
- o PowerUP Bus support
- o V44 68060/40 lib is NEEDED
- o MEMF_REVERSE used in some huge static allocations
- o PPCOpenLibrary,PPCCloseLibrary,PPCGetLibSymbol
- o Snoopdos problem fixed(pending Forbid() in the ramlib because of a forgotten forbid()
- in LibMMU.o..this caused to break the hackish:-) Snoopdos ramlib msgport fix which only
- worked when the ramlib task causes a schedule after the ReplyMsg of a openlib request.
-
- - 45.23
- o Fix of this fucked up deadlock introduced in 45.20 race condition fix..sigh..
- Weird that it didn`t happen under the race condition test case.
- o Fix of the Open() cache problem..Open didn`t invalid the open string name,
- so a following instruction using the same memory the string name used failed
- in callos for example. VDOOM(Load Menu problem)
-
- - 45.22
- o Source cleanup changes..
- o Proto Board Fix(it still breaks under heavy load)
-
- - 45.21
- o New PPC Kernel functions:
- PPCReadByte()
- PPCReadWord()
- PPCReadLong()
- PPCWriteByte()
- PPCWriteWord()
- PPCWriteLong()
- PPCCoerceMethodA()
- PPCDoMethodA()
- PPCDoSuperMethodA()
- o PPCTASKTAG_CPUHINT tag
- o Sigh..the 233Mhz clock devider entry was 0...the busclock was detected though.
- o 603 clocks
-
- - 45.20
- o PPC Kernel race condition which can lead to a deadlock of the whole
- system in extreme situations
-
- - 45.19
- o 233Mhz support
- o EGCS check which doesn`t use the Sys V.4 traceback status word
- in front of every function.
- The check simply checks if the first 6 bits of the first long in
- ".text" section is 0, then it`s not a instruction and must be
- the traceback status word and the program is started at + 0x4.
-
- - 45.18
- o Internal changes in the interrupt stack reloc area
- o Priority problem solved...well..the only solution which is
- possible but i don`t like that.(Fixes VDoom -5 problem and
- people which use anything else than 0 for the msgtask)
- o processor clocks should work now...
- o AllocVecPooled,FreeVecPooled entries in the link symbol table were
- equal to the AllocPooled,FreePooled functions.
- o DEC Scheduler
- o 8192 Bytes M68k Msg TaskStack now
- o NP_Priority is passed through now if used..otherwise the current
- task`s priority is cloned.
-
- - 45.17
- o PPCCallOS/M68k debug output change
-
- - 45.16
- o scheduler reg problem introduced in 45.14
- problem was that several program in parallel didn`t work anymore with 14
- o ELFLoadSeg doesn`t patch the InternalLoadSeg functions anymore because
- this causes problems.
-
- - 45.15
- o Fix illegal elf load problem(ElfLoadSeg Patch problem with scripts)
- introduced in 45.13
-
- - 45.14
- o a PPCSignal from the M68k now dispatches the task at once.
- o ppcdiss.library only loaded when needed
-
- - 45.13
- o ELFLoader enforcer hit on error case
-
- - 45.12
- o internal changes for rom version
-
- - 45.11
- o PPCELFLOADTAG_FILE extension for ElfSegLoad
-
- - 45.10
- o Minor cache area code improvements
-
- - 45.9
- o blizzard ppc changes
- o Fixed some other port problems(ISIS) i introduced with 45.6
- It`s really time i change the way how the kernel is generated
- but that would take some time.
- o PPCGetPortListAttr(,PPCPORTLISTTAG_RECEIVEDSIGNALS) bug
-
- - 45.8
- o CACHEFLUSHNO invalids the caos structure now..thought i could
- remove that one because the m68k doesn`t change anything at the
- structure but missed that i need an invalid to remove that
- from the cache...
-
- - 45.7
- o small test changes
-
- - 45.6
- o reworked the elf loader...added a missing semaphore.
- There was a small window of a list manipulation collison.
- o sigh...fixed a memtrash bug in msg2
- o ElfLoader memory problem when file had an error. Weird
- that this bug wasn`t noticed before.
- o PPCObtainPort enforcer hit fixed..Msg2old example source
-
- - 45.5
- o structure bug introduced with 45.4 fixed....caused a lot problems
-
- - 45.4
- o CTRL-C,D,E,F handling.
- If you create a synchron PPC Task, the 68k caller task waits
- for the finish of the PPC Task and these break signals.
- If a break signal is received it send the Signal to the
- PPC Task. So checking for ctrl-c should be easy and not that
- time consuming anymore.
- Only activated with tag PPCTASKTAG_BREAKSIGNAL.
- The Break Signal Server is a new Process called "PPC:CTRLHandler"
- o Inbetween BETA release problem with CON: and a signal to the base
- task instead of the msgtask which caused a crash.
-
-
- - 45.3
- o IF_CACHEFLUSHNO CallOSM68k Caos update bug fixed(Teemu Suikki)
- o WaitFinishNode list problem which could cause an enforcer hit(Fixed)
-
- - 45.2
- o Spurious Interrupt problem solved(Teemu Suikki)
- Dumbug.
-
- - 45.1
- o 45.0Beta2`s PPCCallM68k change didn`t compile..argl.
- Definitely not my day.
-
- - 45.0
- Release
-
- - 45.0Beta2
- o Removed the updating of the PPCCallOS caos.d0-d1 fields again
- BUT the PPCCallM68k caos.#? updating is there!!!!!!!!!!
-
- - 45.0Beta1
- o Final Bump
- o Default PPC stacksize 16384 instead of 8192
-
- - 44.45Beta
- o Activated custom flush routines again
- o fixed a sync problem in PPCGetmessage() and optimized it.
- o Reworked the msg#?.c examples(which were basicly only my own
- small msg test bench)
- o alias PPCSignalTask() == PPCSignal()...
- o Init Timerbase set to 0 during coldstart
- o IF_ASYNC for asynchron PPCCall#? handling
- o TASKTAG_STACKSIZE understood by PPCGetTaskAttr() on the ppc side
- o ATTENTION:
- Completely reworked the TaskHook system..forget everything described below
- o PPCINFOTAG_CPUPLL
- o PPCGetAttr() on the PPC side
- o Fixed the A4000 ram slowness(dbat mapping overruled mmu mapping)
- o Zeropage of the chipram only readable by the PPC
- o 64Bit Math
- PPCAdd64()
- PPCAdd64p()
- PPCSub64()
- PPCSub64p()
- PPCNeg64()
- PPCNeg64p()
- PPCCmp64()
- PPCCmp64p()
- PPCMulu64()
- PPCMulu64p()
- PPCMuls64()
- PPCMuls64p()
- PPCDivu64()
- PPCDivu64p()
- PPCDivs64()
- PPCDivs64p()
- PPCModu64()
- PPCModu64p()
- PPCMods64()
- PPCMods64p()
-
- o 604e now jumps into an exception for 0x1000-0x1200 exceptions instead of
- running into 603e emulation code. This case should never happen though.
- Just for a clean system.
- o PPCTASKINFOTAG_EXCEPTIONHOOK problem fixed
- o Added a new element to struct ExceptionMsg and bumped the version of this structure
- o Smarter handling of a supervisor PPC crash
- o made the old Angelmode working again(internal)
- o Fixed really really really really weird RawDoFmt crash problem...well..i wouldn`t
- really call that a fix.
- o mark zeropage GUARD to avoid speculative scheduling hits
- o extended the PPCGet/SetTaskAttr() API..the way how to pass values.
- o StopTask problem fixed
- o PPCDeleteTask() problem fixed if an other waitnode was already added.
- o PPCTASKINFOTAG_WAITFINISHTASK
- to find the parent process where you created a sync PPC Task from.
- o callm68k bug introduced with some changes lately
-
- - 44.44Beta
- o Fixed a MMU problem which only was visible with a BlizzardPPC basicly.
- Switched off the cache optimized M68k routines for the fair...no time
- to test that again...the .36-.43 fix
-
- - 44.43Beta
- o Fixed IsisPPC crash problem introduced after .36
-
- - 44.42Beta
- o More BlizzardPPC changes
-
- - 44.41Beta
- o More usage of the internal cacheflush functions
- o Slowdown problem(MMU page cleanup had a problem)
-
- - 44.40Beta
- o Added BlizzardPPC support
-
- - 44.39Beta
- o Changes in the stoneold PPCCallOS m68k routines
-
- - 44.38Beta
- o Mungwall hit introduced with 44.37Beta fixed
-
- - 44.37Beta
- o smarter memory aligning
- o PPCCacheTrashE() entry in the jumptable was corrupt
-
- - 44.36Beta
- o Added
- PPCINFOTAG_ADDCREATETASKHOOK(Forget this..see 44.45Beta)
- PPCINFOTAG_REMCREATETASKHOOK(Forget this..see 44.45Beta)
- PPCINFOTAG_ADDDELETETASKHOOK(Forget this..see 44.45Beta)
- PPCINFOTAG_REMDELETETASKHOOK(Forget this..see 44.45Beta)
- PPCTASKINFOTAG_STOPTASK
- PPCTASKINFOTAG_ELFOBJECT
- PPCTASKINFOTAG_EXCEPTIONHOOK
- for a better debugger support
- o Now PPCCreateProcess uses the tags also in the internal M68k CreateNewproc()
- for the msgtask. So you can pass NP_ tags this way directly to the msg process.
- Makes PPCTASKTAG_INPUTHANDLE, PPCTASKTAG_OUTPUTHANDLE,PPCTASKTAG_INPUTHANDLE
- obsolete.
-
- - 44.35Beta
- o instead of NIL: it uses the OS process default handle now.
-
- - 44.34Beta
- o Added IF_CACHEINVALIDAREA to the interface.h
- o Fixed the inclue cut&paste error in the CacheInvalidE() function
- o Fixed elf search for section symbol address bug
-
- - 44.33Beta
- o Renamed old CacheInvalidE to CacheTrashE and wrote a clean
- CacheInvalidE() which uses cinvl and cinvp depended on address.
- situation.
-
- - 44.32Beta
- o Well..some other msg optimizations
- o Fixed the sizeof(Body) bug in the examples/msg#? sources
- o Fixed msg4 example
- o Added msg5 example for async msgs
-
- - 44.31Beta
- o New function PPCLoadObjectTags() which can load embedded elfobjects now.
- o Some name changes...sorry..i think it`s better to change it now than never.
- PPCGetInfo() -> PPCGetAttrs()
- PPCGetObjectInfos -> PPCGetObjectAttrs()
- PPCGetTaskInfos -> PPCGetTaskAttrs()
- PPCSetTaskInfos -> PPCSetTaskAttrs()
- o PPCSetAttr()
- PPCINFOTAG_EXCEPTIONHOOK to set a system default ExceptionHook
- o fixed ELF Object resolved error output requester for a not known reloc type.
- o fixed the stack problem(Kleinert`s superview)
- o DeleteTask() now has a BOOL instead of a VOID
- and fixed a serious bug in the remove task handling which lead to enforcer hits
- and very likely a crash
- o if PPCELFLOADTAG_ELFADDRESS is specified it`s a stream..otherwise a file.
- PPCELFLOADTAG_ELFNAME overrules the Name function parameter
- o Name parameter removed
- o PPCELFLOADTAG_HOOK to overload the Elf Stream IO
- o Hook API reworked
- o Some Cache handling changes
- o Added 68040.library detection
- o Some cache msg handling changes
- o PPCSetAttr pragma was wrong
-
- - 44.30Beta
- o Used 66Mhz Busclock instead of 50Mhz busclock so that
- people don`t think they have a 150Mhz board(50Mhz*3) instead
- of a 66Mhz (66Mhz*3=200Mhz) board.
- o Optimized PPC Cacheflush
- o Optimized some communications
- o Polished the Autodocs..
-
- - 44.29Beta
- o Fixed PPCRunKernelModuleFPU hang problem
- o Initial release
-
- - 44.28Beta
- o Fixed 603e startup problem
-
- - 44.27Beta
- o Used STARTUP interface in examples/msg2
- o Added romcopy check to avoid havoc if a serious error occurs
- o Fixed ExceptionHandler problem on the 604e..weird it worked on the 603e
- o Fixed a PPCWait() return bug(H&P)
- o Added PPC IRQ to the hardware to fix the deadlock problem with the old
- PowerUP and first cyberstorm PPC under high traffic
- o Created a CauseInt function instead of the old custom intreq function
- which was a cludge anyway...let`s hope i can fix that too for the PowerUP Proto
- board.
- o Fixed PPCTool,PPCShowTasks,PPCReadByte() hang problem
- o Overkill-test bench bug fixed...(bug only in 44.27:-)
- o MMU Page now supervisor only to detect programs which are too curious:-)
- or run amok.
- o Added the following debug tools to ToolsDebug/
- o PPCShowInt
- o PPCShowTrap
- o PPCShowMMU
- o PPCSetMCP
- o PPCSetSMI
-
- - 44.26Beta
- o Fixed bss alignment problem
-
- - 44.25Beta
- o Added names to the interrupt nodes
-
- - 44.24Beta
- o PPCTASKTAG_MSGPORT didn`t free the signal it used...fixed
- o PPCDeleteTask reworked
- o Fixed a Pool Management bug
-
- - 44.23Beta
- o Fixed PPCGetTaskAttr(different proto)
- o Fixed PPCTask PPCPort creation
- o Fixed Examples/Startup.c
-
- - 44.22Beta(intermediate release)
- o CyberstormPPC support
- o CPUInfo now handles 604 clocks
- o Fixed the CACHEFLUSHAREA problem in the CallOS calls
- o Added some Cacheflush optimizing on the M68k side
- o ElfLoader error check improved..otherwise it would create an ElfObject with no .text section.
- o Improved Msg speed..removed an unnecessary cacheflush
- o CacheInvalid now also deals with non page aligned addresses
- o M68k Side functions added
- o PPCCreateWaitPortList()
- o PPCDeleteWaitPortList()
- o PPCAddWaitPortList()
- o PPCRemWaitPortList()
- o PPCWaitPortList()
- o PPCGetPortListAttr()
- o PPCSetPortListAttr()
- (!!!!!Not tested!!!!!)
- o PPC->M68k switch time improvement hopefully
- (fooled the scheduler to start the m68k task at once after a PPC interrupt)
- o fixed low memory problems in the init
- o fixed a serialized problem in the init
-
- o Fixed the PortList includes/autodocs
- o New PPCCreateTask attributes
- o PPCTASKTAG_STARTUP_MSG
- o PPCTASKTAG_STARTUP_MSGDATA
- o PPCTASKTAG_STARTUP_MSGLENGTH
- o PPCTASKTAG_STARTUP_MSGID
- which implements a new startup ppc msg which can be used to abitrate for the PPCTask exit
- as it is replied after the PPCTask was closed.
- o New PPC function
- o PPCGetTaskAttr() which supports
- o PPCTASKTAG_STARTUP_MSG
- o PPCTASKTAG_STARTUP_MSGDATA
- o PPCTASKTAG_STARTUP_MSGLENGTH
- o PPCTASKTAG_STARTUP_MSGID
- o Changed Int signal mask
- o Final CyberPPC603e,604e support(Gerald`s playground release)
-
-
- - 44.21Beta
- o Pri Constructor support
- A priviledge constructor/deconstructor can be used to force a certain
- sort on the constructor list. For a constructor it means that the one
- with the highest priority come first. For deconstructor it means that
- the one with the highest priority comes at the end of the .dtor section
- which is ran *backwards* so it`s also called as the first.
- Normal constructor/deconstructors are called after pri de/constructors.
- A pri de/constructor is defined by long Pri,long Function where Pri
- can be -4096..4095
- See constructor.h
- o BSS hunk load problem fixed.
-
-
-
- - 44.20Beta
- o Finally..this version runs stable again(Party on)
- o PPCCreateMessage also initializes not used msg fields now.
- o Removed some TypeOfMem->trap debugger stops...
-
- - 44.19Beta
- o Internal Scheduler changes to make the Semaphores working.
- o Fixed a long standing problem
- o Shrinked the size of the PPC Kernel
- o Removed the DBAT mapping for the Cyberstorm local ram which
- caused a conflict with the flexible mmu mapping system.
- o Reworked 603e mmu example code
- o Changed the whole exception create/delete intframe system
- to get it working with exceptions in supervisor(MMU).
- o Fixed Semaphores
- o Fixed Semaphore Example(Wasted searching a bug in my code)
- o A lot internal changes and
- for (;;)
- {
- printf("Debug is my second name\nNext-Terminal + tip ttyb38400 rules\n");
- }
-
- o Semaphore functions
- o PPCReleaseSemaphore()
- o PPCObtainSemaphore()
- o PPCAttemptSemaphore()
- o PPCAttemptSemaphoreShared()
- o PPCObtainSemaphoreShared()
- o PPCCreateSemaphore()
- o PPCDeleteSemaphore()
- o PPCObtainSemaphoreByName()
- o PPCObtainSemaphoreSharedByName()
- o PPCAttemptSemaphoreByName()
- o PPCAttemptSemaphoreSharedByName()
-
- o fd2inlinePPCLib output CallOS changed to PPCCallOS
-
-
- - 44.18Beta
- o Fixed another problem with the PPCDebug and the internal symbolbase
- o Fixed CallOS/CallM68k problem
-
- - 44.17Beta
- o Fixed something in symbol reloc find(PPCDebug output problem)
- o Added more internal Semaphore Function Symbols to the symbolbase
- o Fixed the last reason PPCDeletePort could ran amok
-
- - 44.16Beta
- o Forgot to init a nestcount which caused the PPCDeletePort()
- problem.(Andree)
- o UsedStack finally fixed(Sends a Prayer...:-))
-
- - 44.15Beta
- o PPCGetMessage() to PowerUPKernel autodocs added
- o PPCVersion() added
- o PPCRevision() added
- o Fixed 44.14Beta release from last night
-
- - 44.14Beta
- o IrseeSoft reminded me that i haven`t made any use of the Cachemodes
- yet in the Caos structure so i added that. Should improve certain
- switch times if the cache configs are used carefully.
- o Made PPCNextTagItem(),PPCFindTagItem(),PPCGetTagData() available
- o Internal SystemPool for coming Semaphore support
- o From now on ALL OLD PPC program don`t work anymore. SystemCall IDs
- aren`t valid anymore. See 44.9Beta
- o Added MsgID parameter to PPCSendMessage to understand what this msg is about.
- o Added PPCMSGTAG_MSGID,PPCMSGTAG_MSGTYPE attribute to ppclib/message.h
-
- - 44.13Beta
- o Added BOOL for PPCDeletePort()
-
- - 44.12Beta
- o Fixed missing PA_SIGNAL in the msgport initializing
-
- - 44.11Beta
- o Oops..sorry..the DebugRequester didn`t work correctly
-
- - 44.10Beta
- o Changed bumprev copyright msg
- o New PPC functions
- o PPCFindName
- o PPCInsertSync
- o PPCAddHeadSync
- o PPCAddTailSync
- o PPCRemoveSync
- o PPCRemHeadSync
- o PPCRemTailSync
- o PPCFindNameSync
-
- - 44.9Beta
- o Fixed PPCGetTaskInfo PPCTASKINFOTAG_PRIORTTY bug
- o Added PPCReadWord();
- o Added PPCWriteWord();
- o Added PPCReadByte();
- o Added PPCWriteByte();
- o Fixed PPCGetTaskInfo PPCTASKINFOTAG_USEDSTACKSIZE bug
- o MsgOut task now at Pri 10..this is the PPCScheduler signal task.
- o MsgIn task set at the priority of the task which creates the PPC task.
- Beware..if you`re current task runs too fast you`re responsible for the
- sideeffects that may happen when your PPC side calls m68k routines.
- You shouldn`t also change the taskpri of your currenttask in an asynchronus
- CreatePPC situation.
- o Changed some IO addressing
- o Added dynamic binding of the following functions.
- New PPC functions(Renamed some old functions..source change necessary):
- o PPCAllocMem
- o PPCFreeMem
- o PPCCallOS
- o PPCCallM68k
- o PPCOpen
- o PPCClose
- o PPCRead
- o PPCWrite
- o PPCSeek
- o PPCAllocVec
- o PPCFreeVec
- o PPCFinishTask
- o PPCSignal
- o PPCWait
- o PPCFindTask
- o PPCAllocSignal
- o PPCFreeSignal
- o PPCCacheFlush
- o PPCCacheFlushAll
- o PPCCacheInvalid
- o PPCSetSignal
- o PPCRawDoFmt
- o PPCCreatePool
- o PPCDeletePool
- o PPCAllocPooled
- o PPCFreePooled
- o PPCAllocVecPooled
- o PPCFreeVecPooled
- o PPCCreatePort
- o PPCDeletePort
- o PPCObtainPort
- o PPCReleasePort
- o PPCCreateMessage
- o PPCDeleteMessage
- o PPCGetMessage
- o PPCGetMessageAttr
- o PPCReplyMessage
- o PPCSendMessage
- o PPCWaitPort
- o strcmp
- o strcpy
- o strlen
- o memcpy
- o PPCInsert
- o PPCAddHead
- o PPCAddTail
- o PPCRemove
- o PPCRemHead
- o PPCRemTail
-
- -> LibPowerUP.a is worthless from now on. DON'T use it anymore!
- This means you have to recompile your software and add the
- prefix where it is missing.
- The reason for this general change is that we want the complete
- control over the system call ABI for a possible portation to
- another OS.
- This avoids any serious conflicts in the future.
- o PPC<->M68k OS level communication isn`t using extensive busy waits anymore on
- the PPC side which would slow down tasks.
- o New M68k ppc.library functions:
- o PPCCreatePool();
- o PPCDeletePool();
- o PPCAllocPooled();
- o PPCFreePooled();
- o PPCFreeVecPooled();
- o PPCAllocVecPooled();
- o PPCCreatePort
- o PPCDeletePort
- o PPCObtainPort
- o PPCReleasePort
- o PPCCreateMessage
- o PPCDeleteMessage
- o PPCGetMessage
- o PPCGetMessageAttr
- o PPCReplyMessage
- o PPCSendMessage
- o PPCWaitPort
- o PPCCacheClearE()
- o PPCCacheInvalidE()
-
- o Error Requestor for missing symbols
- o Added kernel function support for the symbol/reloc info functions.
- o A lot internal changes
-
- - 44.8Beta
- o Fixed a Bug in LibPowerup.a(AllocPooled) in a lowmem situation
- o Added SetSignal to PowerUP.doc/protos, removed PPCAmiga.doc(old style)
- o PPCSetTaskInfo()
- o PPCGetObjectInfo() to get ELF Symbol informations.
- Useful for special startups or expecially Debugger informations.
- (PPCDebug makes use of this already)
- o Fixed ElfLoader problem with 0 size objects...objects where the .size was
- forgotten. (LibMoto Beta)
- o Several changes in the Elfloader Symbol handling
- o Added PPCGetObjectInfo() ScanSymbolHook Tag so you could dump all symbols
- o Added PPCWriteLongFlush() to support PPCDebug breakpoints
-
- - 44.7Beta
- o Forgot 2 kprintfs in the lib from last night
-
- - 44.6Beta
- o gpr30 wasn't updated in an exception
- o gpr29 was trashed by a system call(Oops)
- (Heh..actually PPCDebug can be useful:-)
-
- - 44.5Beta
- o Tools/PPCDebug..a small example how to write a debugger for the ppc.library
- o several changes to 44.4Beta to get the debug support working
- o Fixed the Examples/#?..wasn`t uptodate to work with the latest include layout
- o 38400 Baud Debug output removed again and put into an external program to
- support people that use 300 Baud Psion Terminals
-
- - 44.4Beta(inbetween release)
- o PPCReadLong()
- o PPCWriteLong()
- o made PPCGetTaskInfo cache safe...was a bit lazy there
- o internal scheduler extension
- o Task dependent Exception Handling for a Debugger
- o Tools/PPCLoadTimer to measure the time needed by the
- PPCRunObject() call.
- o Fixed several register restore problems
- o Tools/PPCShowTasks extended..shows registers too now.
- Values should be reliable now because of the PPCGetTaskInfo()
- changes.
- o PPCStartTask();
- o PPCStopTask();
- o cleaned up PowerUP/clib/ppc_protos.h and removed some internal
- non public defined structs.
- o Register Trashing Bug fixed in the FinishTask routine caused by
- the cache fix in 44.2Beta
-
- - 44.3Beta
- o PPCTASKTAG_WAITFINISH for synchron PPCCreateTask()=PPCRunObject()
- made public.
- o Fixed FinishTask problem with PPCCreateTask()(Kleinert)
- stupid mistake
-
- - 44.2Beta
- o Fixed another hang problem(Chris Hames)
- o Fixed Cache sideeffects in ExitTask and Remtask(Not tested though:-))
-
- - 44.1Beta
- o Fixed libpowerup autodocs
- o Added function PPCSetSignal so a Checksignal doesn`t need some PPCWait() magic
- o Internal changes in the systemcall area
- o improved Exception output
- o Activated Page MMU mapping of the AmigaOS system...like the 68060 MMU mapping.
- o GCCTools/ppc-amigaos-ld2 is a new PPC linker which outputs errors for
- undefined symbols.
-
- - 44.0Beta7
- o internal
-
- - 44.0Beta6
- o Fixed FindTask,FindTaskObject crash problems
- o Fixed FinishTask problem
- o Removed 38400 Baud serial init
-
- - 44.0Beta5
- o Added Zorro3 Mapping,Removed Optimized CacheFlushing Mapping(Not used anyway yet)
-
- - 44.0Beta4
- o Fixed RunKernalModule()
- o Added RunKernalModuleFPU()
- o changed interfaces.h,interfaces.i
- o Improved Exception Output
- (Now shows offsets to the .text section which can be used with the dump of
- the ELF bin)
- o Fixed a bug in the ELF Loader(Enforcer hits) when it found a reloc section
- for a not loaded section
- o Changed link obj to a link lib...changed the names
- o added new LibAmiga.a(with Source and not complete)
-
- - 44.0Beta3
- o Changed interface.h and interface.i to support configurable CacheFlush.
- So you have to recompile your software
- o Added new PPCTASKTAGINFO_ tags
- Rethink the input/output problems
- o PPCFindTaskObject() added
- o PPCFindTask() runtask bug fixed
-
- - 44.0Beta2
- o Added the multitasking support for PPC-M68k-OS calls
- o Fixed PPCAllocSignal
- o Added PPCTASKTAG_INPUTHANDLE
- o Added PPCTASKTAG_OUTPUTHANDLE
- o Added PPCTASKTAG_ERRORHANDLE
- o Added the memfree of the task enviroment
- o Each PPC Task has a MsgIn Task now
- o Schedule Handler Task
- o Exception Handler Task
- o Scheduler disabled if no PPC Task running(no slowdown of the system)
-
- - 44.0Beta1
- o Added MultiTasking to the PPC kernel
- o ULONG RunKernelModule()
- for custom interrupt servers...a cybergfx blitengine may be one
-
- - 43.x
- old,outdated,quick hacks,not worthy
-